package com.sihan.framework.etm.service;

import com.sihan.framework.etm.common.PageRequest;
import com.framework.model.PageResult;
import com.framework.mybatis.service.BaseService;
import com.sihan.framework.etm.dto.LogLookDTO;
import com.sihan.framework.etm.entity.Log;
import com.sihan.framework.etm.vo.LogLookVO;

import java.util.Date;
import java.util.List;

public interface LogService extends BaseService<Log, Long> {

  /**
   * 分页查询日志
   *
   * @param pageRequest 分页请求对象
   * @param ip ip地址
   * @param operation 操作
   * @param type 日志类型
   * @return 分页结果对象
   */
  PageResult<Log> selectPage(PageRequest pageRequest,Date startTime,Date endTime, String ip, String operation, Integer type);

  /**
   * 删除日志
   *
   * @param logIds 日志Id
   */
  void deleteLogByIds(List<Long> logIds);

  /**
   * 通过日志类型获取日志
   * @param logType
   * @return
   */
  List<Log> findLogAllByType(Integer logType);

  /**
   * 获取所有操作类型
   * @param logType
   * @return
   */
  List<String> findOperas(Integer logType);

  /**
   * 获取所有操作人
   * @param logType
   * @return
   */
  List<String> findOperaUsers(Integer logType);

  LogLookVO look(LogLookDTO dto);

  LogLookVO look1(LogLookDTO dto);


    void autoBackUp();
}
